package tech.xs.sys.service;

import tech.xs.common.framework.service.CrudService;
import tech.xs.sys.domain.entity.SysRole;

import java.util.Set;

public interface SysRoleService extends CrudService<SysRole> {

    /**
     * 根据角色编码删除角色
     *
     * @param roleCode 角色编码
     */
    void deleteRoleByCode(String roleCode);

    Set<String> loadEnableRoleCache(Set<String> roles);

    void deleteEnableRoleCache();

    /**
     * 判断角色是否已经被使用
     *
     * @param roleCode 角色编码
     * @return 已经被使用则返回true, 否则返回false
     */
    boolean isUsed(String roleCode);

}
